package cn.tedu.yuncharging.common.web;

import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import java.io.Serializable;

@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class JsonResult implements Serializable {
    Integer code;
    String message;
    Object data;

    /**
     * 正常返回结果
     * @return
     */
    public static JsonResult ok(){
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(1000);
        jsonResult.setMessage("ok");
        return jsonResult;
    }

    /**
     * 正常返回结果
     * @param data
     * @return
     */
    public static JsonResult ok(Object data) {
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(1000);
        jsonResult.setMessage("ok");
        jsonResult.setData(data);
        return jsonResult;
    }

    /**
     * 异常返回结果
     * @param message
     * @return
     */
    public static JsonResult error(String message){
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(2000);
        jsonResult.setMessage(message);
        return jsonResult;
    }

    /**
     * 异常返回结果
     * @param serviceCodeEnum
     * @param message
     * @return
     */
    public static JsonResult error(ServiceCodeEnum serviceCodeEnum,String message){
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode(2000);
        jsonResult.setMessage(message);
        return jsonResult;
    }
}
